嗨,今天要講的一樣是 C# 關鍵字 ~
我們都常在程式碼中看到 readonly
和 const
,從字面上來看,兩個關鍵字都帶有「無法修改」的意味,但實際上它們分別有以下的特色:
const
的特色是:
int
) 或字串在編譯時就會直接取代原本使用到 const
常數的地方。適合用在需要效率,或是數值完全不更動的情況。
而 readonly
的特色為:
由於在編譯時仍然是變數,在初始化時可以再重新指定數值,因此較具備使用上的彈性。
牛刀小試 …
public class Program
{
public class book{
public int pages;
public book(int p){
this.pages = p;
}
}
public static readonly book a = new book(150); // 可以在初始化時、建構子內指定數值
public static void Main()
{
// a = new book(200); // 不能修改
Console.WriteLine(a.pages);
}
}
(上述部分內容為參考資料的文字,並重新改寫)
參考資料:C# - const vs static readonly - John Wu's Blog